home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 8 / FM Towns Free Software Collection 8.iso / t_os / gpen32k / source / lib / osrc / spad22.c < prev    next >
Encoding:
Text File  |  1994-06-01  |  1.6 KB  |  74 lines

  1. /***************************************************************
  2.     Okome Super Famic PAD V1.05   High-C V1.7
  3.                                 Copyright(C) おこめ 1991,1992
  4. ***************************************************************/
  5.  
  6. int Spad2(int n)        /*    SFC PAD 全データの読み取り    */
  7. {
  8.     int i, w;
  9.     if ((n & 0x7ffffffe) == 0)    {
  10.         _outb(0x4d6, 0x0f);
  11.         for (w=0; w<1; w++)
  12.         {
  13.         }
  14.         i = ~_inb(0x4d0 + n * 2) & 0x3f;
  15.         _outb(0x4d6, 0x3f);
  16.         for (w=0; w<1; w++)
  17.         {
  18.         }
  19.         i |= ((~_inb(0x4d0 + n * 2) & 0x7f) << 6);
  20.         if ((i & 0x41)==0x41)
  21.         {
  22.             i &=0xffbf;
  23.         }
  24.         if ((i & 0x82)==0x82)
  25.         {
  26.             i &=0xff7f;
  27.         }
  28.         if ((i & 0x3)==0x3)        /*    SELECT    */
  29.         {
  30.             i &= 0xff3c;
  31.             i |= 0x80;
  32.         }
  33.         if ((i & 0xC)==0xC)        /*    RUN    */
  34.         {
  35.             i &= 0xfcf3;
  36.             i |= 0x40;
  37.         }
  38.         return (i);
  39.     }    else    {
  40.         return (0);
  41.     }
  42. }
  43. /*
  44.     わかる人のための 拡張PADの作り方・回路超略図
  45.  
  46.     IC 74157を二つ使い、二回に分けて、入力します。
  47.  
  48.     コネクタPin    1   2   3   4   5   6   7   8   9
  49.     I/Oポート       0   1   2   3       4   5   6
  50.         COM=0       上  下  左  右 +5V  B   Y  COM GND
  51.         COM=1      STA SEL  L   R  +5V  A   X  COM GND
  52.  
  53.     ※  A B X Y は、互換回路に従うと、こうなる
  54.                     好きなように配置するとよい。
  55.  
  56.     ボタンには、COMではなく、GNDを入れる(当たり前か?)
  57.     プルアップもお忘れ無く
  58.  
  59.     更に、ひとひねりの回路
  60.  
  61.          6P(3P)スイッチ    
  62.  
  63.        COM ・  ・            拡張 TOWNS-PAD (MSX + 拡張ボタン)モード
  64.              ↑
  65.     IC SEL ・  ・ COM
  66.              ↓
  67.        GND ・  ・ R            RUN SELECT 無し TOWNS(MaRTy) PAD モード ZOOM付き?
  68.  
  69.         3Pならば左だけ、6Pなら、右もできる
  70.  
  71.         拡張TOWNS-PADのできあがり
  72.         
  73. */
  74.